CREATE TABLE [dbo].[TCMOVI_BANC]
(
[CO_EMPR] [dbo].[TD_VC_002] NOT NULL,
[CO_BANC] [dbo].[TD_VC_003] NOT NULL,
[CO_UNID_CONC] [dbo].[TD_VC_003] NOT NULL,
[NU_CNTA_BANC] [dbo].[TD_VC_020] NOT NULL,
[AA_BNCO] [dbo].[TD_VC_004] NOT NULL,
[MM_BNCO] [dbo].[TD_VC_002] NOT NULL,
[TI_MOVI_BANC] [dbo].[TD_VC_001] NOT NULL,
[NU_COMP_BANC] [dbo].[TD_VC_008] NOT NULL,
[FE_OPER] [dbo].[TD_DT_001] NULL,
[NU_DOCU_BANC] [dbo].[TD_VC_020] NULL,
[CO_TIPO_OPER] [dbo].[TD_VC_003] NOT NULL,
[FA_CAMB_EXTR] [dbo].[TD_NU_015_006] NULL,
[CO_BANC_CHEQ] [dbo].[TD_VC_003] NULL,
[CO_TIPO_DOCU] [dbo].[TD_VC_003] NULL,
[FA_TIPO_CAMB] [dbo].[TD_NU_015_006] NOT NULL CONSTRAINT [DF__TCMOVI_BA__FA_TI__078C1F06] DEFAULT ((1.000)),
[NU_CHEQ] [dbo].[TD_VC_020] NULL,
[IM_MOVI] [dbo].[TD_NU_016_004] NOT NULL CONSTRAINT [DF__TCMOVI_BA__IM_MO__0880433F] DEFAULT ((0)),
[FE_CHEQ] [dbo].[TD_DT_001] NULL,
[FE_ENTR_CHEQ] [dbo].[TD_DT_001] NULL,
[FE_DISP] [dbo].[TD_DT_001] NULL,
[FE_PROG_CHEQ] [dbo].[TD_DT_001] NULL,
[TI_ENTI] [dbo].[TD_VC_001] NULL,
[CO_ENTI] [dbo].[TD_VC_020] NULL,
[CO_BANC_ENTI] [dbo].[TD_VC_003] NULL,
[NU_CNTA_ENTI] [dbo].[TD_VC_020] NULL,
[CO_ENTR_REND] [dbo].[TD_VC_003] NULL,
[AA_CONC] [dbo].[TD_VC_004] NULL,
[SI_SOLO_BANC] [dbo].[TD_VC_001_SINO] NULL CONSTRAINT [DF__TCMOVI_BA__SI_SO__09746778] DEFAULT ('N'),
[MM_CONC] [dbo].[TD_VC_002] NULL,
[SI_OPER_CONC] [dbo].[TD_VC_001_SINO] NULL CONSTRAINT [DF__TCMOVI_BA__SI_OP__0B5CAFEA] DEFAULT ('N'),
[DE_OBSE] [dbo].[TD_VC_100] NULL,
[NU_SOLI] [dbo].[TD_VC_010] NULL,
[CO_CAJA_ENRE] [dbo].[TD_VC_008] NULL,
[CO_BANC_ENRE] [dbo].[TD_VC_003] NULL,
[DE_NOMB_ORDE] [dbo].[TD_VC_100] NULL,
[NU_CNTA_ENRE] [dbo].[TD_VC_020] NULL,
[AA_ENRE] [dbo].[TD_VC_004] NULL,
[MM_ENRE] [dbo].[TD_VC_002] NULL,
[NU_COMP_ENRE] [dbo].[TD_VC_008] NULL,
[FE_REND_GAST] [dbo].[TD_DT_001] NULL,
[CO_LIQU] [dbo].[TD_VC_020] NULL,
[NU_RECI_COBR] [dbo].[TD_VC_010] NULL,
[NU_REND_GAST] [dbo].[TD_VC_010] NULL,
[FE_RECI_COBR] [dbo].[TD_DT_001] NULL,
[FE_DIFE] [dbo].[TD_DT_001] NULL,
[CO_SUBR] [dbo].[TD_VC_003] NULL,
[CO_GRUP_CONC] [dbo].[TD_VC_020] NULL,
[NU_CORR_CONC] [dbo].[TD_VC_020] NULL,
[NU_COBR] [dbo].[TD_VC_020] NULL,
[ST_CONT] [dbo].[TD_VC_001_INTE] NOT NULL CONSTRAINT [DF__TCMOVI_BA__ST_CO__0D44F85C] DEFAULT ('N'),
[ST_PAGO_DETR] [dbo].[TD_VC_001_SINO] NULL CONSTRAINT [DF__TCMOVI_BA__ST_PA__0F2D40CE] DEFAULT ('N'),
[TI_DOCU_ENRE] [dbo].[TD_VC_003] NULL,
[NU_DOCU_ENRE] [dbo].[TD_VC_020] NULL,
[NU_PROC] [dbo].[TD_IN_001] NULL CONSTRAINT [DF__TCMOVI_BA__NU_PR__11158940] DEFAULT ((0)),
[IM_ENRE] [dbo].[TD_NU_016_004] NULL CONSTRAINT [DF__TCMOVI_BA__IM_EN__1209AD79] DEFAULT ((0)),
[ST_CIER_ENRE] [dbo].[TD_VC_001_SINO] NULL CONSTRAINT [DF__TCMOVI_BA__ST_CI__12FDD1B2] DEFAULT ('N'),
[CO_TIEN] [dbo].[TD_VC_003] NULL,
[NU_CHEQ_USAD] [dbo].[TD_IN_001] NULL CONSTRAINT [DF__TCMOVI_BA__NU_CH__14E61A24] DEFAULT ((0)),
[NU_UPDA_MASI] [dbo].[TD_VC_008] NULL,
[ST_APRO] [dbo].[TD_VC_001] NULL,
[CO_ORDE_SERV] [dbo].[TD_VC_020] NULL,
[TI_SITU] [dbo].[TD_VC_003] NULL,
[CO_USUA_CREA] [dbo].[TD_VC_008_USUA] NOT NULL CONSTRAINT [DF__TCMOVI_BA__CO_US__15DA3E5D] DEFAULT (suser_sname()),
[FE_USUA_CREA] [dbo].[TD_DT_001_SIST] NOT NULL CONSTRAINT [DF__TCMOVI_BA__FE_US__16CE6296] DEFAULT (getdate()),
[CO_USUA_MODI] [dbo].[TD_VC_008_USUA] NOT NULL CONSTRAINT [DF__TCMOVI_BA__CO_US__17C286CF] DEFAULT (suser_sname()),
[FE_USUA_MODI] [dbo].[TD_DT_001_SIST] NOT NULL CONSTRAINT [DF__TCMOVI_BA__FE_US__18B6AB08] DEFAULT (getdate()),
[IM_MOVI_INTE] [dbo].[TD_NU_016_004] NULL CONSTRAINT [DF__TCMOVI_BA__IM_MO__04F074D4] DEFAULT ((0)),
[ST_CALC_CUOT] [dbo].[TD_VC_001_SINO] NULL,
[NU_DIAS_VENC] [dbo].[TD_NU_016_004] NULL,
[NU_TRAN_CHEQ] [dbo].[TD_VC_008] NULL,
[FE_COBR_CHEQ] [dbo].[TD_DT_001] NULL
) ON [PRIMARY]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE TRIGGER [dbo].[TD_TCMOVI_BANC_D01] ON [dbo].[TCMOVI_BANC] FOR DELETE
/*---------------------------------------------------------*/
/*---- Empresa              : OFISIS S.A.              ----*/
/*---- Cliente              : OFISIS S.A.              ----*/
/*---- Sistema              : OFITESO                  ----*/
/*---- M½dulo               : Empresa                  ----*/
/*---- Programa             : Trigger                  ----*/
/*---- Script               : TRIGGERS_TCMOVI_BANC.SQL ----*/
/*---- Nombre TR            : TD_TCMOVI_BANC_D01       ----*/
/*---- Desarrollado por     : Reynaldo Menacho Luyo  ----*/
/*---- Fecha Creaci½n       : 11/11/2004               ----*/
/*---- Base de Datos        : SQL_Server               ----*/
/*---- Versi½n              : 2000                      ----*/
/*---- Invoca a SP          :                          ----*/
/*---------------------------------------------------------*/
/*---- Modificado 1 por     :                          ----*/
/*---- Fecha Modificaci½n   :                          ----*/    
/*---- Detalle Modificacicn :                          ----*/  
/*---------------------------------------------------------*/
/*---- Comentarios: Genera Numero Correlativo, para    ----*/
/*----              la secuencia de ingreso de Compra  ----*/
/*----                                                 ----*/
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
/*---- Drop TRIGGER TD_TCMOVI_BANC_D01                 ----*/
/*---- Grant All On TD_TCMOVI_BANC_D01 to PUBLIC       ----*/
/*---------------------------------------------------------*/
NOT FOR REPLICATION  
As
Begin
  Declare
  @CSCO_EMPR       	TD_VC_002,
  @CSCO_BANC       	TD_VC_003,
  @CSNU_CNTA_BANC  	TD_VC_020,
  @CSAA_BNCO  		TD_VC_004,
  @CSTI_MOVI_BANC  	TD_VC_001,
  @CSTI_SITU 		TD_VC_003,
  @CSMM_BNCO  		TD_VC_002,
  @CNIM_MOVI  		TD_NU_016_004,
  @VSDE_USER		TD_VC_008

  Declare CT_TCMOVI_BANC_D01 Cursor
  For
  Select CO_EMPR, CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, 
		 TI_MOVI_BANC, TI_SITU, IM_MOVI
  From Deleted
  
  Open  CT_TCMOVI_BANC_D01
  Fetch CT_TCMOVI_BANC_D01 Into
		@CSCO_EMPR, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, 
		@CSTI_MOVI_BANC, @CSTI_SITU, @CNIM_MOVI
  While @@Fetch_Status = 0
  Begin
		If @@Fetch_Status < 0
		Begin
			Close CT_TCMOVI_BANC_D01
			Deallocate CT_TCMOVI_BANC_D01
		End

		Select @VSDE_USER = System_User

		If @CSTI_MOVI_BANC = 'E' And @CSTI_SITU = 'ACT'
		  Begin
			Update TMSABA_MENS			Set IM_EGRE = IM_EGRE - @CNIM_MOVI,
				CO_USUA_MODI = System_User, FE_USUA_MODI = Getdate()
			Where  CO_EMPR = @CSCO_EMPR
			And CO_BANC = @CSCO_BANC
			And NU_CNTA_BANC = @CSNU_CNTA_BANC
			And AA_BNCO = @CSAA_BNCO
			And MM_BNCO = @CSMM_BNCO
		  End

		If @CSTI_MOVI_BANC = 'I' And @CSTI_SITU = 'ACT'
		  Begin
			Update TMSABA_MENS			Set IM_INGR = IM_INGR - @CNIM_MOVI,
				CO_USUA_MODI = System_User, FE_USUA_MODI = Getdate()
			Where  CO_EMPR = @CSCO_EMPR
			And CO_BANC = @CSCO_BANC
			And NU_CNTA_BANC = @CSNU_CNTA_BANC
			And AA_BNCO = @CSAA_BNCO
			And MM_BNCO = @CSMM_BNCO
		  End
	
		If Exists(Select CO_BANC From   TMSABA_MENS
		    	Where CO_EMPR = @CSCO_EMPR And CO_BANC = @CSCO_BANC 
		    	And NU_CNTA_BANC = @CSNU_CNTA_BANC And AA_BNCO+MM_BNCO >= @CSAA_BNCO+@CSMM_BNCO)
		  Exec SP_TMSABA_MENS_U01 @CSCO_EMPR, @VSDE_USER, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO

      Fetch CT_TCMOVI_BANC_D01 Into
        @CSCO_EMPR, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, 
		@CSTI_MOVI_BANC, @CSTI_SITU, @CNIM_MOVI
  End
  Close CT_TCMOVI_BANC_D01
  Deallocate CT_TCMOVI_BANC_D01
End
/*-------------------------------------- Fin de Trigger --------------------------------------*/

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE Trigger [dbo].[TI_TCMOVI_BANC_I01] on [dbo].[TCMOVI_BANC] 
for INSERT
/*---------------------------------------------------------*/
/*---- Empresa              : OFISIS S.A.              ----*/
/*---- Cliente              : OFISIS S.A.              ----*/
/*---- Sistema              : OFITESO                  ----*/
/*---- M½dulo               : Empresa                  ----*/
/*---- Programa             : Trigger                  ----*/
/*---- Script               : TRIGGERS_TCMOVI_BANC.SQL ----*/
/*---- Nombre TR            : TI_TCMOVI_BANC_I01       ----*/
/*---- Desarrollado por     : Javier Flores A          ----*/
/*---- Fecha Creaci½n       : 11/11/2003               ----*/
/*---- Base de Datos        : SQL_Server               ----*/
/*---- Versi½n              : 8.0                      ----*/
/*---- Invoca a SP          :                          ----*/
/*---------------------------------------------------------*/
/*---- Modificado 1 por     :                          ----*/
/*---- Fecha Modificaci½n   :                          ----*/    
/*---- Detalle Modificacicn :                          ----*/  
/*---------------------------------------------------------*/
/*---- Comentarios: Genera Numero Correlativo, para    ----*/
/*----              la secuencia de ingreso de Bancos  ----*/
/*----              (Nos servirÿ para la conciliaci½n  ----*/
/*----              Bancaria automÿtica)               ----*/
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
/*---- Drop TRIGGER TI_TCMOVI_BANC_I01                 ----*/
/*---- Grant All On TI_TCMOVI_BANC_I01 to PUBLIC       ----*/
/*---------------------------------------------------------*/
NOT FOR REPLICATION  
As
Begin
  Declare
  @VSNU_CORR_CONC  TD_VC_020,
  @VNNU_CORR_CONC  Int,
  @CSCO_EMPR       TD_VC_002,
  @CSCO_BANC       TD_VC_003,
  @CSNU_CNTA_BANC  TD_VC_020,
  @CSAA_BNCO       TD_VC_004,
  @CSCO_TIPO_DOCU  TD_VC_003,
  @CSTI_MOVI_BANC  TD_VC_001,
  @CSMM_BNCO       TD_VC_002,
  @CSNU_COMP_BANC  TD_VC_008

  Declare CT_TCMOVI_BANC_I01 Cursor
  For
  Select CO_EMPR, CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, TI_MOVI_BANC, NU_COMP_BANC, CO_TIPO_DOCU
  From Inserted
  
  Open  CT_TCMOVI_BANC_I01
  Fetch CT_TCMOVI_BANC_I01 Into
        @CSCO_EMPR, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, @CSTI_MOVI_BANC, @CSNU_COMP_BANC, @CSCO_TIPO_DOCU

  While @@Fetch_Status = 0
  Begin
    If @@Fetch_Status < 0
      Begin
        Close CT_TCMOVI_BANC_I01
        Deallocate CT_TCMOVI_BANC_I01
      End

       If @CSCO_TIPO_DOCU is not null and rtrim(ltrim(@CSCO_TIPO_DOCU)) != ''
          Begin
            Select @VNNU_CORR_CONC = IsNull( MAX(Convert(Int,NU_CORR_CONC)), '0' ) + 1
            From   TCMOVI_BANC
            Where  CO_EMPR = @CSCO_EMPR
            And    CO_BANC = @CSCO_BANC
            And    NU_CNTA_BANC = @CSNU_CNTA_BANC
            And    AA_BNCO = @CSAA_BNCO
            And    MM_BNCO = @CSMM_BNCO
            And    CO_TIPO_DOCU = @CSCO_TIPO_DOCU

            Select @VSNU_CORR_CONC = convert( Varchar (20),@VNNU_CORR_CONC)

            Update TCMOVI_BANC
            Set    NU_CORR_CONC = @VSNU_CORR_CONC
            Where  CO_EMPR = @CSCO_EMPR
            And    CO_BANC = @CSCO_BANC
            And    NU_CNTA_BANC = @CSNU_CNTA_BANC
            And    AA_BNCO = @CSAA_BNCO
            And    MM_BNCO = @CSMM_BNCO 
            And    TI_MOVI_BANC = @CSTI_MOVI_BANC
            And    NU_COMP_BANC = @CSNU_COMP_BANC          	 
          End

      Fetch CT_TCMOVI_BANC_I01 Into
        @CSCO_EMPR, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, @CSTI_MOVI_BANC, @CSNU_COMP_BANC,@CSCO_TIPO_DOCU
  End
  Close CT_TCMOVI_BANC_I01
  Deallocate CT_TCMOVI_BANC_I01
End
/*------------------- Fin de Trigger ----------------------*/

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE TRIGGER [dbo].[TI_TCMOVI_BANC_I02] ON [dbo].[TCMOVI_BANC] FOR INSERT
/*---------------------------------------------------------*/
/*---- Empresa              : OFISIS S.A.              ----*/
/*---- Cliente              : OFISIS S.A.              ----*/
/*---- Sistema              : OFITESO                  ----*/
/*---- M½dulo               : Empresa                  ----*/
/*---- Programa             : Trigger                  ----*/
/*---- Script               : TRIGGERS_TCMOVI_BANC.SQL ----*/
/*---- Nombre TR            : TI_TCMOVI_BANC_I02       ----*/
/*---- Desarrollado por     : Reynaldo Menacho Luyo  ----*/
/*---- Fecha Creaci½n       : 11/11/2004               ----*/
/*---- Base de Datos        : SQL_Server               ----*/
/*---- Versi½n              : 2000                      ----*/
/*---- Invoca a SP          :                          ----*/
/*---------------------------------------------------------*/
/*---- Modificado 1 por     :                          ----*/
/*---- Fecha Modificaci½n   :                          ----*/    
/*---- Detalle Modificacicn :                          ----*/  
/*---------------------------------------------------------*/
/*---- Comentarios: Genera Numero Correlativo, para    ----*/
/*----              la secuencia de ingreso de Compra  ----*/
/*----                                                 ----*/
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
/*---- Drop TRIGGER tI_TCMOVI_BANC_I02                 ----*/
/*---- Grant All On tI_TCMOVI_BANC_I02 to PUBLIC       ----*/
/*---------------------------------------------------------*/
NOT FOR REPLICATION  
As
Begin
  Declare
  @CSCO_EMPR       	TD_VC_002,
  @CSCO_BANC       	TD_VC_003,
  @CSNU_CNTA_BANC  	TD_VC_020,
  @CSAA_BNCO  		TD_VC_004,
  @CSTI_MOVI_BANC  	TD_VC_001,
  @CSTI_SITU 		TD_VC_003,
  @CSMM_BNCO  		TD_VC_002,
  @CNIM_MOVI  		TD_NU_016_004,
  @VSDE_USER		TD_VC_008

  Declare CT_TCMOVI_BANC_I02 Cursor
  For
  Select CO_EMPR, CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, 
		 TI_MOVI_BANC, TI_SITU, IM_MOVI
  From Inserted
  
  Open  CT_TCMOVI_BANC_I02
  Fetch CT_TCMOVI_BANC_I02 Into
		@CSCO_EMPR, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, 
		@CSTI_MOVI_BANC, @CSTI_SITU, @CNIM_MOVI
  While @@Fetch_Status = 0
  Begin
		If @@Fetch_Status < 0
		Begin
			Close CT_TCMOVI_BANC_I02
			Deallocate CT_TCMOVI_BANC_I02
		End

		Select @VSDE_USER = System_User

		If @CSTI_MOVI_BANC = 'E' And @CSTI_SITU = 'ACT'
		  Begin
			Update TMSABA_MENS			Set IM_EGRE = IM_EGRE +  @CNIM_MOVI,
				CO_USUA_MODI = System_User, FE_USUA_MODI = Getdate()
			Where  CO_EMPR = @CSCO_EMPR
			And CO_BANC = @CSCO_BANC
			And NU_CNTA_BANC = @CSNU_CNTA_BANC
			And AA_BNCO = @CSAA_BNCO
			And MM_BNCO = @CSMM_BNCO
		  End

		If @CSTI_MOVI_BANC = 'I' And @CSTI_SITU = 'ACT'
		  Begin
			Update TMSABA_MENS			Set IM_INGR = IM_INGR +  @CNIM_MOVI,
				CO_USUA_MODI = System_User, FE_USUA_MODI = Getdate()
			Where  CO_EMPR = @CSCO_EMPR
			And CO_BANC = @CSCO_BANC
			And NU_CNTA_BANC = @CSNU_CNTA_BANC
			And AA_BNCO = @CSAA_BNCO
			And MM_BNCO = @CSMM_BNCO
		  End
	
		If Exists(Select CO_BANC From   TMSABA_MENS
		    	Where CO_EMPR = @CSCO_EMPR And CO_BANC = @CSCO_BANC 
		    	And NU_CNTA_BANC = @CSNU_CNTA_BANC And AA_BNCO+MM_BNCO >= @CSAA_BNCO+@CSMM_BNCO)
		  Exec SP_TMSABA_MENS_U01 @CSCO_EMPR, @VSDE_USER, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO

      Fetch CT_TCMOVI_BANC_I02 Into
        @CSCO_EMPR, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, 
		@CSTI_MOVI_BANC, @CSTI_SITU, @CNIM_MOVI
  End
  Close CT_TCMOVI_BANC_I02
  Deallocate CT_TCMOVI_BANC_I02
End
/*-------------------------------------- Fin de Trigger --------------------------------------*/

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE Trigger [dbo].[TU_TCMOVI_BANC_U01] On [dbo].[TCMOVI_BANC]
For Update
/*---------------------------------------------------------*/
/*---- Empresa              : OFISIS S.A.              ----*/
/*---- Cliente              : OFISIS S.A.              ----*/
/*---- Sistema              : OFITESO                  ----*/
/*---- M½dulo               : Empresa                  ----*/
/*---- Programa             : Trigger                  ----*/
/*---- Script               : TRIGGERS_TCMOVI_BANC.SQL ----*/
/*---- Nombre TR            : TU_TCMOVI_BANC_I01       ----*/
/*---- Desarrollado por     : Javier Flores A          ----*/
/*---- Fecha Creaci½n       : 11/11/2003               ----*/
/*---- Base de Datos        : SQL_Server               ----*/
/*---- Versi½n              : 8.0                      ----*/
/*---- Invoca a SP          :                          ----*/
/*---------------------------------------------------------*/
/*---- Modificado 1 por     :                          ----*/
/*---- Fecha Modificaci½n   :                          ----*/    
/*---- Detalle Modificacicn :                          ----*/  
/*---------------------------------------------------------*/
/*---- Comentarios: Actualiza Numero Correlativo, para    ----*/
/*----              la secuencia de ingreso de Bancos  ----*/
/*----              (Nos servirÿ para la conciliaci½n  ----*/
/*----              Bancaria automÿtica)               ----*/
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
/*---- Drop TRIGGER TU_TCMOVI_BANC_I01                 ----*/
/*---- Grant All On TU_TCMOVI_BANC_I01 to PUBLIC       ----*/
/*---------------------------------------------------------*/
As
If Update(CO_TIPO_DOCU) 
Begin
  Declare 
  @VSNU_CORR_CONC  TD_VC_020,
  @VNNU_CORR_CONC  Int,
  @CSCO_EMPR       TD_VC_002,
  @CSCO_BANC       TD_VC_003,
  @CSNU_CNTA_BANC  TD_VC_020,
  @CSAA_BNCO       TD_VC_004,
  @CSCO_TIPO_DOCU  TD_VC_003,
  @VSCO_TIPO_DOCU  TD_VC_003,
  @CSTI_MOVI_BANC  TD_VC_001,
  @CSMM_BNCO       TD_VC_002,
  @CSNU_COMP_BANC  TD_VC_008


  Declare CT_TCMOVI_BANC_U01_1 Cursor
  For
  Select CO_EMPR, CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, TI_MOVI_BANC, NU_COMP_BANC, CO_TIPO_DOCU
  From inserted

  Open  CT_TCMOVI_BANC_U01_1
  Fetch CT_TCMOVI_BANC_U01_1 Into @CSCO_EMPR, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, 
				  @CSTI_MOVI_BANC, @CSNU_COMP_BANC,@CSCO_TIPO_DOCU
  While @@Fetch_Status = 0
  Begin
    If  @@Fetch_Status < 0
      Begin
        Close CT_TCMOVI_BANC_U01_1
        Deallocate CT_TCMOVI_BANC_U01_1
      End

       If @CSCO_TIPO_DOCU is not null and rtrim(ltrim(@CSCO_TIPO_DOCU)) != ''
          Begin
            Select @VSCO_TIPO_DOCU = CO_TIPO_DOCU
            From   DELETED 
            Where  CO_EMPR = @CSCO_EMPR
            And    CO_BANC = @CSCO_BANC
            And    NU_CNTA_BANC = @CSNU_CNTA_BANC
            And    AA_BNCO = @CSAA_BNCO
            And    MM_BNCO = @CSMM_BNCO 
            And    TI_MOVI_BANC = @CSTI_MOVI_BANC
            And    NU_COMP_BANC = @CSNU_COMP_BANC          	 

            SELECT @VNNU_CORR_CONC = 0             
	    Select @VSNU_CORR_CONC = ''

            If (@VSCO_TIPO_DOCU != @CSCO_TIPO_DOCU)
               Begin 

          	 Update TCMOVI_BANC
          	 Set    NU_CORR_CONC = '0'
          	 Where  CO_EMPR = @CSCO_EMPR
          	 And    CO_BANC = @CSCO_BANC
          	 And    NU_CNTA_BANC = @CSNU_CNTA_BANC
                 And    AA_BNCO = @CSAA_BNCO
                 And    MM_BNCO = @CSMM_BNCO 
                 And    TI_MOVI_BANC = @CSTI_MOVI_BANC
                 And    NU_COMP_BANC = @CSNU_COMP_BANC          	 

                 Select @VNNU_CORR_CONC = IsNull( MAX(Convert(Int,NU_CORR_CONC)), '0' ) + 1
          	 From   TCMOVI_BANC
          	 Where  CO_EMPR = @CSCO_EMPR
	         And    CO_BANC = @CSCO_BANC
         	 And  NU_CNTA_BANC = @CSNU_CNTA_BANC
          	 And    AA_BNCO = @CSAA_BNCO
	And    MM_BNCO = @CSMM_BNCO
          	 And    CO_TIPO_DOCU = @CSCO_TIPO_DOCU

          	 Select @VSNU_CORR_CONC = convert( Varchar (20),@VNNU_CORR_CONC)

          	 Update TCMOVI_BANC
          	 Set    NU_CORR_CONC = @VSNU_CORR_CONC
          	 Where  CO_EMPR = @CSCO_EMPR
          	 And    CO_BANC = @CSCO_BANC
          	 And    NU_CNTA_BANC = @CSNU_CNTA_BANC
                 And    AA_BNCO = @CSAA_BNCO
                 And    MM_BNCO = @CSMM_BNCO 
                 And    TI_MOVI_BANC = @CSTI_MOVI_BANC
                 And    NU_COMP_BANC = @CSNU_COMP_BANC          	 
             End
        End

     Fetch CT_TCMOVI_BANC_U01_1 Into
			  	  @CSCO_EMPR, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, 
				  @CSTI_MOVI_BANC, @CSNU_COMP_BANC,@CSCO_TIPO_DOCU
  End
  Close CT_TCMOVI_BANC_U01_1
  Deallocate CT_TCMOVI_BANC_U01_1
End
/*------------------------ Fin ----------------------*/

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE TRIGGER [dbo].[TU_TCMOVI_BANC_U02] ON [dbo].[TCMOVI_BANC] FOR UPDATE
/*---------------------------------------------------------*/
/*---- Empresa              : OFISIS S.A.              ----*/
/*---- Cliente              : OFISIS S.A.              ----*/
/*---- Sistema              : OFITESO                  ----*/
/*---- Módulo               : Empresa                  ----*/
/*---- Programa             : Trigger                  ----*/
/*---- Script               : TRIGGERS_TCMOVI_BANC.SQL ----*/
/*---- Nombre TR            : TU_TCMOVI_BANC_U02       ----*/
/*---- Desarrollado por     : Reynaldo Menacho Luyo  ----*/
/*---- Fecha Creación       : 11/11/2004               ----*/
/*---- Base de Datos        : SQL_Server               ----*/
/*---- Versión              : 2000                      ----*/
/*---- Invoca a SP          :                          ----*/
/*---------------------------------------------------------*/
/*---- Modificado 1 por     :                          ----*/
/*---- Fecha Modificación   :                          ----*/    
/*---- Detalle Modificacicn :                          ----*/  
/*---------------------------------------------------------*/
/*---- Comentarios: Genera Numero Correlativo, para    ----*/
/*----              la secuencia de ingreso de Compra  ----*/
/*----                                                 ----*/
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
/*---- Drop TRIGGER TU_TCMOVI_BANC_U02                 ----*/
/*---- Grant All On TU_TCMOVI_BANC_U02 to PUBLIC       ----*/
/*---------------------------------------------------------*/
NOT FOR REPLICATION  
As
If Update(IM_MOVI) Or Update(TI_SITU)
Begin
  Declare
  @CSCO_EMPR       	TD_VC_002,
  @CSCO_BANC       	TD_VC_003,
  @CSNU_CNTA_BANC  	TD_VC_020,
  @CSAA_BNCO  		TD_VC_004,
  @CSTI_MOVI_BANC  	TD_VC_001,
  @CSTI_SITU 		TD_VC_003,
  @CSMM_BNCO  		TD_VC_002,
  @CNIM_MOVI  		TD_NU_016_004,
  @VSDE_USER		TD_VC_008,
  @VSTI_SITU 		TD_VC_003,
  @CSNU_COMP_BANC  	TD_VC_008,
  @CSCO_UNID_CONC   TD_VC_003


  Declare CT_TCMOVI_BANC_U02 Cursor
  For
  Select CO_EMPR, CO_UNID_CONC, CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, NU_COMP_BANC,
		 TI_MOVI_BANC, TI_SITU, IM_MOVI
  From Deleted
  
  Open  CT_TCMOVI_BANC_U02
  Fetch CT_TCMOVI_BANC_U02 Into
		@CSCO_EMPR, @CSCO_UNID_CONC, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, @CSNU_COMP_BANC, 
		@CSTI_MOVI_BANC, @CSTI_SITU, @CNIM_MOVI
  While @@Fetch_Status = 0
  Begin
		If @@Fetch_Status < 0
		Begin
			Close CT_TCMOVI_BANC_U02
			Deallocate CT_TCMOVI_BANC_U02
		End


SELECT @VSTI_SITU = TI_SITU
FROM TCMOVI_BANC
WHERE CO_EMPR = @CSCO_EMPR
And CO_UNID_CONC = @CSCO_UNID_CONC
AND CO_BANC = @CSCO_BANC
AND NU_CNTA_BANC = @CSNU_CNTA_BANC
AND AA_BNCO = @CSAA_BNCO
AND MM_BNCO = @CSMM_BNCO
AND NU_COMP_BANC = @CSNU_COMP_BANC
AND TI_MOVI_BANC = @CSTI_MOVI_BANC

		If @CSTI_MOVI_BANC = 'E' And @CSTI_SITU = 'ACT' And @VSTI_SITU != 'EXT'
		  Begin
			Update TMSABA_MENS			Set IM_EGRE = IM_EGRE - @CNIM_MOVI,
				CO_USUA_MODI = System_User, FE_USUA_MODI = Getdate()
			Where  CO_EMPR = @CSCO_EMPR
			And CO_BANC = @CSCO_BANC
			And NU_CNTA_BANC = @CSNU_CNTA_BANC
			And AA_BNCO = @CSAA_BNCO
			And MM_BNCO = @CSMM_BNCO
		  End

		If @CSTI_MOVI_BANC = 'I' And @CSTI_SITU = 'ACT' And @VSTI_SITU != 'EXT'
		  Begin
			Update TMSABA_MENS			Set IM_INGR = IM_INGR - @CNIM_MOVI,
				CO_USUA_MODI = System_User, FE_USUA_MODI = Getdate()
			Where  CO_EMPR = @CSCO_EMPR
			And CO_BANC = @CSCO_BANC
			And NU_CNTA_BANC = @CSNU_CNTA_BANC
			And AA_BNCO = @CSAA_BNCO
			And MM_BNCO = @CSMM_BNCO
		  End
	

      Fetch CT_TCMOVI_BANC_U02 Into
        @CSCO_EMPR, @CSCO_UNID_CONC, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, @CSNU_COMP_BANC, 
		@CSTI_MOVI_BANC, @CSTI_SITU, @CNIM_MOVI
  End
  Close CT_TCMOVI_BANC_U02
  Deallocate CT_TCMOVI_BANC_U02

--------------------------------------------------------------

  Declare CT_TCMOVI_BANC_U03 Cursor
  For
  Select CO_EMPR, CO_UNID_CONC, CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, NU_COMP_BANC,
		 TI_MOVI_BANC, TI_SITU, IM_MOVI
  From Inserted
  Where TI_SITU = 'ACT'
  
  Open  CT_TCMOVI_BANC_U03
  Fetch CT_TCMOVI_BANC_U03 Into
		@CSCO_EMPR, @CSCO_UNID_CONC, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, @CSNU_COMP_BANC, 
		@CSTI_MOVI_BANC, @CSTI_SITU, @CNIM_MOVI
  While @@Fetch_Status = 0
  Begin
		If @@Fetch_Status < 0
		Begin
			Close CT_TCMOVI_BANC_U03
			Deallocate CT_TCMOVI_BANC_U03
		End

		Select @VSDE_USER = System_User

SELECT @VSTI_SITU = TI_SITU
FROM TCMOVI_BANC
WHERE CO_EMPR = @CSCO_EMPR
And CO_UNID_CONC = @CSCO_UNID_CONC
AND CO_BANC = @CSCO_BANC
AND NU_CNTA_BANC = @CSNU_CNTA_BANC
AND AA_BNCO = @CSAA_BNCO
AND MM_BNCO = @CSMM_BNCO
AND NU_COMP_BANC = @CSNU_COMP_BANC
AND TI_MOVI_BANC = @CSTI_MOVI_BANC

		If @CSTI_MOVI_BANC = 'E' And @VSTI_SITU != 'EXT'
		  Begin
			Update TMSABA_MENS
			Set IM_EGRE = IM_EGRE + @CNIM_MOVI,
				CO_USUA_MODI = System_User, FE_USUA_MODI = Getdate()
			Where  CO_EMPR = @CSCO_EMPR
			And CO_BANC = @CSCO_BANC
			And NU_CNTA_BANC = @CSNU_CNTA_BANC
			And AA_BNCO = @CSAA_BNCO
			And MM_BNCO = @CSMM_BNCO
		  End

		If @CSTI_MOVI_BANC = 'I' And @VSTI_SITU != 'EXT'
		  Begin
			Update TMSABA_MENS
			Set IM_INGR = IM_INGR + @CNIM_MOVI,
				CO_USUA_MODI = System_User, FE_USUA_MODI = Getdate()
			Where  CO_EMPR = @CSCO_EMPR
			And CO_BANC = @CSCO_BANC
			And NU_CNTA_BANC = @CSNU_CNTA_BANC
			And AA_BNCO = @CSAA_BNCO
			And MM_BNCO = @CSMM_BNCO
		  End
	
		If Exists(Select CO_BANC From   TMSABA_MENS
		    	Where CO_EMPR = @CSCO_EMPR And CO_BANC = @CSCO_BANC 
		    	And NU_CNTA_BANC = @CSNU_CNTA_BANC And AA_BNCO+MM_BNCO >= @CSAA_BNCO+@CSMM_BNCO)
		  Exec SP_TMSABA_MENS_U01 @CSCO_EMPR, @VSDE_USER, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO


      Fetch CT_TCMOVI_BANC_U03 Into
        @CSCO_EMPR, @CSCO_UNID_CONC, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, @CSNU_COMP_BANC, 
		@CSTI_MOVI_BANC, @CSTI_SITU, @CNIM_MOVI
  End
  Close CT_TCMOVI_BANC_U03
  Deallocate CT_TCMOVI_BANC_U03

End
/*-------------------------------------- Fin de Trigger --------------------------------------*/

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE TRIGGER [dbo].[TU_TCMOVI_BANC_U03] On [dbo].[TCMOVI_BANC] For Update
/*---------------------------------------------------------*/
/*---- Empresa              : OFISIS S.A.              ----*/
/*---- Cliente              : OFISIS S.A.              ----*/
/*---- Sistema              : OFITESO                  ----*/
/*---- M½dulo               : Empresa                  ----*/
/*---- Programa             : Trigger                  ----*/
/*---- Script               : TRIGGERS_TCMOVI_BANC.SQL ----*/
/*---- Nombre TR            : TU_TCMOVI_BANC_U03       ----*/
/*---- Desarrollado por     : Carlos Marquez E.        ----*/
/*---- Fecha Creaci½n       : 29/09/2004               ----*/
/*---- Base de Datos        : SQL_Server               ----*/
/*---- Versi½n              : 8.0                      ----*/
/*---- Invoca a SP          :                          ----*/
/*---------------------------------------------------------*/
/*---- Modificado 1 por     :                          ----*/
/*---- Fecha Modificaci½n   :                          ----*/    
/*---- Detalle Modificacicn :                          ----*/  
/*---------------------------------------------------------*/
/*---- Comentarios: Actualiza Importe de la con el     ----*/
/*----              Nuevo Tipo de cambio para las      ----*/
/*----              Retenciones                        ----*/
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
/*---- Drop TRIGGER TU_TCMOVI_BANC_U03                 ----*/
/*---- Grant All On TU_TCMOVI_BANC_U03 to PUBLIC       ----*/
/*---------------------------------------------------------*/
As
If Update(FE_OPER) Or Update(FA_TIPO_CAMB) 
Begin
  Declare 
  @VSNU_CORR_CONC	TD_VC_020,
  @VSCO_MONE_NACI	TD_VC_003,
  @VSCO_MONE_EXTR	TD_VC_003,
  @VSTI_CAMB		TD_VC_001,
  @VSTI_ORIG		TD_VC_001,
  @VNNU_CORR_CONC  Int,

  @CSCO_EMPR       TD_VC_002,
  @CSCO_BANC       TD_VC_003,
  @CSNU_CNTA_BANC  TD_VC_020,
  @CSAA_BNCO       TD_VC_004,
  @CSCO_TIPO_DOCU  TD_VC_003,
  @VSCO_TIPO_DOCU  TD_VC_003,
  @CSTI_MOVI_BANC  TD_VC_001,
  @CSMM_BNCO       TD_VC_002,
  @CSNU_COMP_BANC  TD_VC_008,
  @CDFE_OPER		TD_DT_001,
  @CNFA_TIPO_CAMB	TD_NU_015_006,
  @CSCO_USUA_MODI	TD_VC_008,
  @CSCO_UNID_CONC 	TD_VC_003,

  @VSCO_MONE_BANC  TD_VC_003,
  @VSCO_TIAU_PROV	TD_VC_001,
  @VNNU_PORC_RETE	TD_NU_009_004,
  @OSTI_DOCU_RETE  TD_VC_003


  Exec SP_TTDOCU_CNTB_Q02 21, @OSTI_DOCU_RETE  OUTPUT    

  Declare CT_TCMOVI_BANC_U02_1 Cursor
  For
  Select CO_EMPR, CO_UNID_CONC, CO_BANC, NU_CNTA_BANC, AA_BNCO, MM_BNCO, TI_MOVI_BANC, NU_COMP_BANC, CO_TIPO_DOCU,
		 FE_OPER, FA_TIPO_CAMB, CO_USUA_MODI
  From inserted

  Open  CT_TCMOVI_BANC_U02_1
  Fetch CT_TCMOVI_BANC_U02_1 Into @CSCO_EMPR, @CSCO_UNID_CONC, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, 
		@CSTI_MOVI_BANC, @CSNU_COMP_BANC, @CSCO_TIPO_DOCU,
		@CDFE_OPER, @CNFA_TIPO_CAMB, @CSCO_USUA_MODI
  While @@Fetch_Status = 0
  Begin
    If  @@Fetch_Status < 0
      Begin
        Close CT_TCMOVI_BANC_U02_1
        Deallocate CT_TCMOVI_BANC_U02_1
      End


		Select	@VSCO_MONE_NACI = CO_MONE_DEFA,     
				@VSCO_MONE_EXTR = CO_MONE_EXTR,
				@VSCO_TIAU_PROV = CO_TIAU_PROV,
				@VNNU_PORC_RETE = NU_PORC_RETE
		From   TMPARA_TESO    
		Where  CO_EMPR = @CSCO_EMPR
		
		Select	@VSTI_CAMB = TI_CAMB, @VSTI_ORIG = TI_ORIG    
		From   TTFACA_OPCI    
		Where  CO_EMPR = @CSCO_EMPR    
		And CO_MODU = 'TEEM0001'    
		And CO_MENU = 'FTEEPBS'    
		
		If ( @VSTI_CAMB Is Null Or @VSTI_ORIG Is Null )    
			Select	@VSTI_CAMB = TI_CAMB,     
					@VSTI_ORIG = TI_ORIG    
			From   TMPARA_TESO    
			Where  CO_EMPR = @CSCO_EMPR

		Select	@VSCO_MONE_BANC = CO_MONE
		From	TMCNTA_BANC
		Where	CO_EMPR = @CSCO_EMPR
		And 	CO_BANC = @CSCO_BANC
		And 	NU_CNTA_BANC = @CSNU_CNTA_BANC

      	 Update TDMOVI_BANC
      	 Set    IM_DOCU = 	ofiteso.dbo.FN_TCFACT_CAMB_Q02(@VSCO_MONE_BANC,     
							      CO_MONE_DOCU, @CDFE_OPER, IM_DETA, @VSTI_CAMB,     
							      @VSTI_ORIG, 'S', @VSCO_MONE_NACI, @VSCO_MONE_EXTR, @CNFA_TIPO_CAMB),
				IM_SALD_DOCU = 	ofiteso.dbo.FN_TCFACT_CAMB_Q02(@VSCO_MONE_BANC,     
							      CO_MONE_DOCU, @CDFE_OPER, IM_DETA, @VSTI_CAMB,     
							      @VSTI_ORIG, 'S', @VSCO_MONE_NACI, @VSCO_MONE_EXTR, @CNFA_TIPO_CAMB),
				IM_CONV_DOCU = 	ofiteso.dbo.FN_TCFACT_CAMB_Q02(@VSCO_MONE_BANC,     
							      CO_MONE_DOCU, @CDFE_OPER, IM_DETA, @VSTI_CAMB,     
							      @VSTI_ORIG, 'S', @VSCO_MONE_NACI, @VSCO_MONE_EXTR, @CNFA_TIPO_CAMB),
				CO_USUA_MODI = @CSCO_USUA_MODI,
				FE_USUA_MODI = Getdate()
      	 Where  CO_EMPR = @CSCO_EMPR
      	 And    CO_UNID_CONC = @CSCO_UNID_CONC
      	 And    CO_BANC = @CSCO_BANC
      	 And    NU_CNTA_BANC = @CSNU_CNTA_BANC
             And    AA_BNCO = @CSAA_BNCO
             And    MM_BNCO = @CSMM_BNCO 
             And    TI_MOVI_BANC = @CSTI_MOVI_BANC
             And    NU_COMP_BANC = @CSNU_COMP_BANC
             And    TI_DOCU_ENTI = @OSTI_DOCU_RETE

		IF (@@ERROR != 0)    
		Begin    
			CLOSE CT_TCMOVI_BANC_U02_1    
			DEALLOCATE CT_TCMOVI_BANC_U02_1    
			RETURN    
		End    
		
		--- cabecera de Retenciones 
		Update TCCOMP_RETE
		Set		FA_TIPO_CAMB = @CNFA_TIPO_CAMB,
				FE_COMP_RETE = @CDFE_OPER,
				CO_USUA_MODI = @CSCO_USUA_MODI,
				FE_USUA_MODI = Getdate()
		Where	CO_EMPR = @CSCO_EMPR
         And    CO_BANC = @CSCO_BANC
         And    NU_CNTA_BANC = @CSNU_CNTA_BANC
         And    AA_BACA = @CSAA_BNCO
         And    MM_BACA = @CSMM_BNCO 
         And    NU_COMP_BACA = @CSNU_COMP_BANC

		IF (@@ERROR != 0)    
		Begin    
			CLOSE CT_TCMOVI_BANC_U02_1    
			DEALLOCATE CT_TCMOVI_BANC_U02_1    
			RETURN    
		End    
			Update TDCOMP_RETE
			Set 
				TDCOMP_RETE.IM_RETE_CONV = ( Select Round(ofiteso.dbo.FN_TCFACT_CAMB_Q02(t3.CO_MONE_DOCU,     
										      @VSCO_MONE_NACI, @CDFE_OPER, IM_CONV_DOCU * ( @VNNU_PORC_RETE/100.00 ), @VSTI_CAMB,     
										      @VSTI_ORIG, 'S', @VSCO_MONE_NACI, @VSCO_MONE_EXTR, @CNFA_TIPO_CAMB) ,2)
					 From	TCCOMP_RETE t2, TDMOVI_BANC t3
					 Where	t2.CO_EMPR = TDCOMP_RETE.CO_EMPR And
							t2.NU_COMP_RETE = TDCOMP_RETE.NU_COMP_RETE And
							t2.CO_EMPR = t3.CO_EMPR And
							t2.CO_BANC = t3.CO_BANC And
							t2.NU_CNTA_BANC = t3.NU_CNTA_BANC And
							t2.AA_BACA = t3.AA_BNCO And
							t2.MM_BACA = t3.MM_BNCO And
							t3.TI_MOVI_BANC = 'E' And
							t2.NU_COMP_BACA = t3.NU_COMP_BANC And
		
							t3.CO_BANC = @CSCO_BANC And
							t3.NU_CNTA_BANC = @CSNU_CNTA_BANC And
							t3.AA_BNCO = @CSAA_BNCO And
							t3.MM_BNCO = @CSMM_BNCO  And
							t3.NU_COMP_BANC = @CSNU_COMP_BANC And
		
							t3.TI_ENTI = @VSCO_TIAU_PROV And
							t2.CO_PROV = t3.CO_ENTI And
							TDCOMP_RETE.TI_DOCU = t3.TI_DOCU_ENTI And
							TDCOMP_RETE.NU_DOCU = t3.NU_DOCU_ENTI),
				TDCOMP_RETE.IM_PAGO_CONV = ( Select ofiteso.dbo.FN_TCFACT_CAMB_Q02(@VSCO_MONE_BANC,     
										      @VSCO_MONE_NACI, @CDFE_OPER, IM_CONV_DOCU, @VSTI_CAMB,     
										      @VSTI_ORIG, 'S', @VSCO_MONE_NACI, @VSCO_MONE_EXTR, @CNFA_TIPO_CAMB) 
								 From	TCCOMP_RETE t2, TDMOVI_BANC t3
								 Where	t2.CO_EMPR = TDCOMP_RETE.CO_EMPR And
										t2.NU_COMP_RETE = TDCOMP_RETE.NU_COMP_RETE And
										t2.CO_EMPR = t3.CO_EMPR And
										t2.CO_BANC = t3.CO_BANC And
										t2.NU_CNTA_BANC = t3.NU_CNTA_BANC And
										t2.AA_BACA = t3.AA_BNCO And
										t2.MM_BACA = t3.MM_BNCO And
										t3.TI_MOVI_BANC = 'E' And
										t2.NU_COMP_BACA = t3.NU_COMP_BANC And
					
										t3.CO_BANC = @CSCO_BANC And
										t3.NU_CNTA_BANC = @CSNU_CNTA_BANC And
										t3.AA_BNCO = @CSAA_BNCO And
										t3.MM_BNCO = @CSMM_BNCO  And
										t3.NU_COMP_BANC = @CSNU_COMP_BANC And
					
										t3.TI_ENTI = 'P' And
										t2.CO_PROV = t3.CO_ENTI And
										TDCOMP_RETE.TI_DOCU = t3.TI_DOCU_ENTI And
										TDCOMP_RETE.NU_DOCU = t3.NU_DOCU_ENTI)
			---From TDCOMP_RETE
			Where
			TDCOMP_RETE.CO_EMPR = @CSCO_EMPR
			And Exists ( Select	t2.NU_COMP_RETE
						 From	TCCOMP_RETE t2, TDMOVI_BANC t3
						 Where	t2.CO_EMPR = TDCOMP_RETE.CO_EMPR And
								t2.NU_COMP_RETE = TDCOMP_RETE.NU_COMP_RETE And
								t2.CO_EMPR = t3.CO_EMPR And
								t2.CO_BANC = t3.CO_BANC And
								t2.NU_CNTA_BANC = t3.NU_CNTA_BANC And
								t2.AA_BACA = t3.AA_BNCO And
								t2.MM_BACA = t3.MM_BNCO And
								t3.TI_MOVI_BANC = 'E' And
								t2.NU_COMP_BACA = t3.NU_COMP_BANC And
			
								t3.CO_BANC = @CSCO_BANC And
								t3.NU_CNTA_BANC = @CSNU_CNTA_BANC And
								t3.AA_BNCO = @CSAA_BNCO And
								t3.MM_BNCO = @CSMM_BNCO  And
								t3.NU_COMP_BANC = @CSNU_COMP_BANC And
			
								t3.TI_ENTI = @VSCO_TIAU_PROV And
								t2.CO_PROV = t3.CO_ENTI And
								TDCOMP_RETE.TI_DOCU = t3.TI_DOCU_ENTI And
								TDCOMP_RETE.NU_DOCU = t3.NU_DOCU_ENTI)
			
			
		--- Actualiza los Montos de las Retenciones ----
		UPDATE TMDOCU_PROV
		SET IM_TOTA = T2.IM_SALD_DOCU, IM_PAGA = T2.IM_SALD_DOCU,
		CO_USUA_MODI = @CSCO_USUA_MODI,
		FE_USUA_MODI = Getdate()
		From TMDOCU_PROV T1, TDMOVI_BANC T2
		Where T2.CO_EMPR = @CSCO_EMPR
		And T2.CO_BANC = @CSCO_BANC
		And T2.NU_CNTA_BANC = @CSNU_CNTA_BANC
		And T2.AA_BNCO = @CSAA_BNCO
		And T2.MM_BNCO = @CSMM_BNCO 
		And T2.TI_MOVI_BANC = @CSTI_MOVI_BANC
		And T2.NU_COMP_BANC = @CSNU_COMP_BANC
		And T2.TI_DOCU_ENTI = @OSTI_DOCU_RETE
		And T1.CO_EMPR = T2.CO_EMPR
		And T1.CO_PROV = T2.CO_ENTI
		And T1.CO_TIPO_DOCU = T2.TI_DOCU_ENTI
		And T1.NU_DOCU_PROV = T2.NU_DOCU_ENTI
		And RTRIM(ISNULL(T2.CO_CNTA_EMPR, '')) = ''



     Fetch CT_TCMOVI_BANC_U02_1 Into
		@CSCO_EMPR, @CSCO_UNID_CONC, @CSCO_BANC, @CSNU_CNTA_BANC, @CSAA_BNCO, @CSMM_BNCO, 
		@CSTI_MOVI_BANC, @CSNU_COMP_BANC,@CSCO_TIPO_DOCU,
		@CDFE_OPER, @CNFA_TIPO_CAMB, @CSCO_USUA_MODI
  End
  Close CT_TCMOVI_BANC_U02_1
  Deallocate CT_TCMOVI_BANC_U02_1
End
/*---------------------------------- Fin ----------------------------------*/
GO
ALTER TABLE [dbo].[TCMOVI_BANC] WITH NOCHECK ADD CONSTRAINT [CK__TCMOVI_BA__SI_OP__0C50D423] CHECK NOT FOR REPLICATION (([SI_OPER_CONC]='N' OR [SI_OPER_CONC]='S'))
GO
ALTER TABLE [dbo].[TCMOVI_BANC] WITH NOCHECK ADD CONSTRAINT [CK__TCMOVI_BA__SI_SO__0A688BB1] CHECK NOT FOR REPLICATION (([SI_SOLO_BANC]='N' OR [SI_SOLO_BANC]='S'))
GO
ALTER TABLE [dbo].[TCMOVI_BANC] WITH NOCHECK ADD CONSTRAINT [CK__TCMOVI_BA__ST_CI__13F1F5EB] CHECK NOT FOR REPLICATION (([ST_CIER_ENRE]='N' OR [ST_CIER_ENRE]='S'))
GO
ALTER TABLE [dbo].[TCMOVI_BANC] WITH NOCHECK ADD CONSTRAINT [CK__TCMOVI_BA__ST_CO__0E391C95] CHECK NOT FOR REPLICATION (([ST_CONT]='P' OR [ST_CONT]='N'))
GO
ALTER TABLE [dbo].[TCMOVI_BANC] WITH NOCHECK ADD CONSTRAINT [CK__TCMOVI_BA__ST_PA__10216507] CHECK NOT FOR REPLICATION (([ST_PAGO_DETR]='N' OR [ST_PAGO_DETR]='S'))
GO
ALTER TABLE [dbo].[TCMOVI_BANC] ADD CONSTRAINT [PK__TCMOVI_B__2A92D88926268016] PRIMARY KEY CLUSTERED  ([CO_EMPR], [CO_BANC], [CO_UNID_CONC], [NU_CNTA_BANC], [AA_BNCO], [MM_BNCO], [TI_MOVI_BANC], [NU_COMP_BANC]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TCMOVI_BANC] ADD CONSTRAINT [FK__TCMOVI_BANC__0D10B989] FOREIGN KEY ([CO_EMPR], [CO_BANC], [NU_CNTA_BANC], [AA_BNCO], [MM_BNCO]) REFERENCES [dbo].[TMSABA_MENS] ([CO_EMPR], [CO_BANC], [NU_CNTA_BANC], [AA_BNCO], [MM_BNCO])
GO
ALTER TABLE [dbo].[TCMOVI_BANC] ADD CONSTRAINT [FK__TCMOVI_BANC__0E04DDC2] FOREIGN KEY ([CO_EMPR], [CO_TIPO_OPER]) REFERENCES [dbo].[TTTIPO_OPER] ([CO_EMPR], [CO_TIPO_OPER])
GO
